//
//  JOView.m
//  画图UIview
//
//  Created by song on 15/1/28.
//  Copyright (c) 2015年 song. All rights reserved.
//

#import "JOView.h"

@implementation JOView


-(void)drawRect:(CGRect)rect
{

    CGContextRef ctx =UIGraphicsGetCurrentContext();
    
    CGContextAddArc(ctx, 200, 200, self.redius, 0, M_PI *2, 0);
    
    CGContextFillPath(ctx);
}


void drawline()
{
    CGContextRef ctx =UIGraphicsGetCurrentContext();
    
   
    CGContextSetLineCap(ctx, kCGLineCapRound);
    
    CGContextMoveToPoint(ctx, 10 ,10  );
    CGContextSetRGBStrokeColor(ctx, 1, 0, 0, 1);
    CGContextSetLineWidth(ctx, 20);
    CGContextAddLineToPoint(ctx, 100, 100);
    CGContextStrokePath(ctx);
    
    // 设置画笔的颜色
    CGContextSetRGBStrokeColor(ctx, 0, 1, 0, 1);
    CGContextMoveToPoint(ctx, 100, 100);
    //设置转折处的 转折样式
    CGContextSetLineWidth(ctx, 20);
    CGContextAddLineToPoint(ctx, 300, 100);
    
    CGContextAddLineToPoint(ctx, 0, 0);
    
    CGContextStrokePath(ctx);
}


void drawTriangle()
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextMoveToPoint(ctx, 0, 0);
    
    CGContextAddLineToPoint(ctx, 100, 100);
    
    CGContextAddLineToPoint(ctx, 150, 80);
    CGContextClosePath(ctx);
    CGContextStrokePath(ctx);
    
}


void draw4Rect()
{
    
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextAddRect(ctx, CGRectMake(100, 10, 100, 100));
    CGContextSetLineWidth(ctx, 10);
    
    CGContextStrokePath(ctx);
}

void drawcircl()
{
    // 画圆
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextAddEllipseInRect(ctx, CGRectMake(100, 100, 100, 100));
    CGContextSetLineWidth(ctx, 10);
    
    CGContextStrokePath(ctx);
}

void drawarc()
{
    
    
    // 画圆弧
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // clockwise  时钟角度， 0 为顺时针， 1 为逆时针
    CGContextAddArc(ctx, 200, 200, 100, -M_PI_2, M_PI_2, 1);
    CGContextStrokePath(ctx);
}

void drawstr()
{
//    CGContextRef *ctx = UIGraphicsGetCurrentContext();
    
    
    
    NSString *str=@"hello word";
    // 设置字体的属性
    NSMutableDictionary *attr =[NSMutableDictionary dictionary];
    attr[NSForegroundColorAttributeName] =[UIColor redColor];
    [str drawAtPoint:CGPointZero withAttributes:attr];
}


void drawimage()
{
    UIImage *image =[UIImage imageNamed:@"duo"];
    
    [image drawAsPatternInRect:CGRectMake(0, 0, 150, 150)];
}


void drawStack()
{
    CGContextRef ctx =UIGraphicsGetCurrentContext();
    CGContextSaveGState(ctx);
    
    CGContextSetLineWidth(ctx, 10);
    [[UIColor redColor]set];
    CGContextSetLineCap(ctx, kCGLineCapRound);
    
    CGContextMoveToPoint(ctx, 50, 50);
    CGContextAddLineToPoint(ctx, 120, 190);
    
    CGContextStrokePath(ctx);
    
    CGContextRestoreGState(ctx);
    CGContextMoveToPoint(ctx, 10, 70);
    CGContextAddLineToPoint(ctx, 220, 290);
    CGContextStrokePath(ctx);
    
}
/**
 *  矩阵操作
 */
void drawMatix()
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    // 缩放
    CGContextScaleCTM(ctx, 0.5, 0.5);
    
    CGContextRotateCTM(ctx, M_PI_4);
    
    CGContextAddRect(ctx, CGRectMake(50, 50, 100, 100));
    
    CGContextAddEllipseInRect(ctx, CGRectMake(100, 100, 100, 100));
    
    
    CGContextStrokePath(ctx);
}


void drawClip()
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    
    CGContextAddEllipseInRect(ctx, CGRectMake(100, 100, 100 , 100));
    
    CGContextClip(ctx);
    
//    CGContextFillPath(ctx);
    
    UIImage *image =[UIImage imageNamed:@"duo"];
    [image drawAtPoint:CGPointMake(100, 100)];
    

}


@end
